import axios from 'axios'
import router from '../router/index.js'

import ElementUI from 'element-ui'
//接口请求超时设置
axios.defaults.timeout = 10000; //毫秒
/**
 * 请求拦截器,添加请求头token
 */
axios.interceptors.request.use(
  config => {
    // console.log('>>>请求url:', config.url);
    var headers = config.headers;
    if (localStorage.getItem("token")) {
      headers.token = localStorage.getItem("token");
    }
    return config;
  },
  error => {
    // console.log('>>>请求异常:', error.message);
    return Promise.reject(error);
  });
/**
 * 应答拦截器,添加请求头token
 */


axios.interceptors.response.use(function (response) {
  if (response) {

    switch (response.data.code) {
      case 401: //与后台约定登录失效的返回码,根据实际情况处理
        localStorage.clear(); //删除用户信息
        //如果超时就处理 ，指定要跳转的页面(比如登陆页)
        ElementUI.Message({
          message: '登录超时,请重新登录!',
          type: 'warning',
          center: true,
        });
        router.replace({
          path: '/login' // 到登录页重新获取token
        })
      case 402: //与后台约定登录失效的返回码,根据实际情况处理
        localStorage.clear(); //删除用户信息
        //如果超时就处理 ，指定要跳转的页面(比如登陆页)
        ElementUI.Message({
          message: '当前账号已在其他电脑上登录！',
          type: 'warning',
          center: true,
        });
        router.replace({
          path: '/login' // 到登录页重新获取token
        })
    }
  }
  return response;
}, error => {
  //Message 消息提示
  // ElementUI.Message({
  //   message: `<<<异常信息:${error.message}`,
  //   type: 'warning',
  //   center: true,
  // });
  // //Notification 通知
  // ElementUI.Notification({
  //   title: 'HTML 片段',
  //   dangerouslyUseHTMLString: true,
  //   message: '<strong>这是 <i>HTML</i> 片段</strong>'
  // });
  // //MessageBox 弹框
  // ElementUI.MessageBox({
  //   title: '标题名称',
  //   message: '这是提示文案这是提示文案这是提示文案这是提示文案这是提示文案这是提示文案这是提示文案这是提示文案'
  // });
  console.log('<<<异常信息:', );
  return Promise.reject('登录超时,请重新登录!');
});
